home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 03 / 1 / DISK0313.ZIP / IPM.DOC < prev    next >
Text File  |  1986-11-07  |  13KB  |  289 lines

  1. IPM.PAS & IPM.COM - Version 1.07B- November, 1986
  2. (c) 1984, 1986 by Edward V. Dong, All Rights Reserved.
  3.  
  4.  
  5.                          Programmed by:
  6.                          Edward V.  Dong
  7.                      12205 Alexandria Place
  8.                          Chino, CA 91710
  9.  
  10. 1.0   GENERAL
  11.  
  12. IPM.COM  is  a  Critical  Path  Method  Project  Scheduler.   The
  13. Critical  Path  Method  is  a  methodology  for  determining  the
  14. critical  tasks  that,  if  not  accomplished  by a certain time,
  15. contribute  directly  to  the  delay  of  the whole project.  You
  16. should refer to various books on the subject.
  17.  
  18. This version was prompted as a result  of  some  bug  reports  on
  19. version  1.06a.  A version 1.07 was previously distributed;  this
  20. version  1.07b  is  a MINOR update and bug fix.  The bug was that
  21. SLACK was not computed properly.
  22.  
  23. 1.1  RIGHT  TO  USE THIS SOFTWARE.  The software, IPM.COM, may be
  24. used as is, by anyone  for  private  purposes  only.   Commercial
  25. users  should contact the address above for the right to use this
  26. software.  No claim is made for the veracity  of  this  software,
  27. and  no warranty, guarantee or other bond is expressed or implied
  28. about the use of this software.  No user may sell  this  software
  29. in  any  form,  other than for the cost of materials and mailing,
  30. without the express, written consent of Edward V.  Dong.
  31.  
  32. This  software  and  documentation is copyright (c) 1984, 1986 by
  33. Edward V. Dong, all rights reserved.
  34.  
  35. You are encouraged to share and  copy  this  software  otherwise.
  36. Contributions  ($15  for example) and comments should be directed
  37. to the above address.
  38.  
  39. 1.2 REQUIREMENTS.  IPM will run in a minimum of 128K,  under  DOS
  40. 2.X,  and  3.1.   Originally  written  in  Turbo Pascal 1.0 (this
  41. version compiled, however, under Turbo 3.0), IPM requires an  IBM
  42. PC,  XT,  PC-3270,  or AT, or a close PC compatible that supports
  43. IBM BIOS ROM calls.  It  should  run  with  or  without  a  color
  44. graphics board.
  45.  
  46. The  maximum  number  of  activities  that it will handle, is 100
  47. (actually 99), determined by the constant MaxValue in the  source
  48. code IPM.PAS.
  49.  
  50. Various calculations and plots can be printed to an  EPSON  or  a
  51. compatible  printer,  by first outputing them to a disk file, and
  52. then  printing  those  files.   Basic  calculation  data  can  be
  53. exported as a .PRN file to Lotus 1-2-3.
  54.  
  55. 1.3  THEORY  OF  OPERATIONS.   Briefy,  the  CPM theory is that a
  56. project is composed of tasks or activities that are arranged in a
  57. pattern  or  network,  where  some  tasks  may  be  performed  in
  58. parallel.
  59.  
  60. If two tasks are being performed in parallel, then the  one  that
  61. takes  longer  to  do,  is  termed "critical".  It is "critical",
  62. because a delay in that task directly contributes to the delay of
  63. the whole project.  A delay in the other task -- as long as it is
  64. completed before the longer task -- does not.  The difference  in
  65. completion time is called "slack".
  66.  
  67. The idea in project scheduling and management is to arrange these
  68. tasks, and to monitor them,  so  that  the  time  for  the  whole
  69. project is kept as short as possible, or the resources needed for
  70. the project is "levelled".  That is, you  don't  want  to  spend,
  71. say, 6 men for 2 weeks on one part of the project, and only use 1
  72. man for the remaining 12 weeks of  the  project;   rather,  as  a
  73. manager,  you want to spread your manpower (or other resource) as
  74. evenly as possible, because it becomes easier to manage.
  75.  
  76. 1.4  BACKGROUND.   IPM was originally coded because of, first, an
  77. admiration  for  the  Harvard  Project  Scheduler,  and,  second,
  78. certain  deficiencies  in  the  HPM.   IPM indeed stands for "Ivy
  79. League Project Manager".  While most features found  in  HPM  are
  80. incorporated  into  IPM,  IPM  however  does  not have a calendar
  81. function nor a project-tracking function.   These  may  be  added
  82. later.
  83.  
  84. IPM  is  an  evolutionary  outgrowth  of  an  earlier  scheduling
  85. program, written  by  E.   Dong,  called  CPM.COM.   CPM.COM  was
  86. originally  coded  18  Sept  83  by  E.  Dong, based on the BASIC
  87. version, 'Hard Hat Management:  Two On-Site  Tools',  by  Richard
  88. Parry,  INTERFACE  AGE,  February, 1981.  It was first translated
  89. into CIC86 'C', and then retranslated into Turbo Pascal, with the
  90. last update on 24-Mar-84.
  91.  
  92. The  current  program, IPM.COM, was adapted from PRACTICAL PASCAL
  93. PROGRAMS, Osborne/McGraw-Hill, by  Greg  Davidson,  (c)  1982  by
  94. McGraw-Hill,  Inc.   However,  this  was extensively modified, as
  95. this book did not address the creation of GANTT or PERT charts.
  96.  
  97. The algorithm for IPM's GANTT charts is based on that created for
  98. CPM.COM,  while  the  algorithm  for  IPM's PERT charts was newly
  99. created (in three days of intensive development).  A  semi-screen
  100. editor was also created for IPM.COM.
  101.  
  102. 2.0   STARTING IPM
  103.  
  104. Starting IPM is, after it has  been  copied  to  the  appropriate
  105. disk,  to  type  IPM.   When  it  pops  up on the screen, it will
  106. display a copyright logo, a brief text indicating  the  reference
  107. to  Greg Davidson's book, and a brief description of how to enter
  108. commands.
  109.  
  110. IPM is arranged so that line 25 (and occasionally, also line  24)
  111. shows the current available commands.  You execute these commands
  112. by typing the first letter (which should be high-lighted) and  no
  113. carriage return.
  114.  
  115. Initially,  the  only  options  you have at startup are:  F(ile),
  116. Q(uit), and H(elp).  QUIT returns you to DOS;  in some cases,  it
  117. will  return  you  to  a  previous  command  menu  instead.  HELP
  118. generates a quick summary of the basic commands  only.   FILE  is
  119. the  command  that  you must enter first, in order to do anything
  120. with IPM.
  121.  
  122. FILE allows you to specify the method of data  entry.   That  is,
  123. you  can enter project data interactively at the console, or from
  124. a file.  If you're using IPM for the first time, generally  there
  125. would  be  no  files  for  IPM  to  use,  so  you must enter data
  126. initially at the console directly.  FILE will prompt you for your
  127. option.
  128.  
  129. You  should  have  a  minimum of four tasks to use IPM;  anything
  130. else, would be a waste of time with IPM.
  131.  
  132. NOTE:   CPM  theory  works best if the number of tasks is GREATER
  133. than the number of nodes.  A start node points to a  task,  which
  134. points  to  another node, until the end node is reached.  Between
  135. any two nodes, there may be any number of PARALLEL tasks.
  136.  
  137. Entering  necessary  input  data  is as follows.  First, IPM will
  138. prompt:
  139.  
  140. Input from Console? (Y/N)
  141.  
  142.     Either an upper- or lower-case "y" or "n" may be entered.  If
  143.     you  enter  "N",  then IPM will ask for the name of the file.
  144.     This file must be in  the  current  subdirectory,  if  you're
  145.     using DOS 2.0 or higher;  IPM isn't smart enough (right now!)
  146.     to access across subdirectories.
  147.  
  148.     If you answer "Y", then IPM will ask:
  149.  
  150. Enter Project Title/Description:
  151.  
  152.     You can enter a  60-character  description  of  the  project.
  153.     This  title  or  description  will  appear  at the top of the
  154.     screen to let you know what project IPM is working on.
  155.  
  156.     Then, IPM will prompt for the number of tasks  that  comprise
  157.     this project:
  158.  
  159. Enter Number of Tasks on this network:
  160.  
  161.     As  was  said before, you should have a minimum of four tasks
  162.     to use IPM;  anything else, would be a  waste  of  time  with
  163.     IPM.   Then the screen will clear, and display something like
  164.     the following:
  165.  
  166. PROJECT: Sample -- Editing
  167. ----------------------------------------------------------------
  168. Task Start  End
  169.       Node Node  Duration  Cost Name/Description
  170.     1    0    0    0.00   0.00    Task01
  171.     2    0    0    0.00   0.00    Task02
  172.     3    0    0    0.00   0.00    Task03
  173.     4    0    0    0.00   0.00    Task04
  174.  
  175.     where "Sample" here is  the  project  title/description  that
  176.     you've entered.  IPM tells you that you are in editing  mode,
  177.     and  will have supplied a generic task name for the number of
  178.     tasks you've indicated, such as "Task01".
  179.  
  180.     At this point, you will see a double command line (lines 24 &
  181.     25).  You can use the command options (remember,  enter  only
  182.     the  first or high-lighted letter of the option) to alter and
  183.     enter the task data.
  184.  
  185. You should do the following:
  186.  
  187.     o IPM  assumes  that the first node is numbered "1", and that
  188.       the last possible node is a number less than  or  equal  to
  189.       the  total  number  of  tasks.  Therefore, you must specify
  190.       "Start" and "End" nodes for each task.
  191.  
  192.     o "Duration" refers to the expected length of time  that  the
  193.       task  should take.  No units are used, so you can use days,
  194.       hours, minutes, or even seconds if you want.  However,  you
  195.       should use the SAME unit of time (days, weeks, or whatever)
  196.       for all entries.
  197.  
  198. To edit a line in the display, you must first enter  the  Taskno.
  199. When  you  have done so, the line in the display will high-light.
  200. Then you can change Duration, Task title, Task description,  etc.
  201. The Task Title, however, is limited to 8 characters only.
  202.  
  203. You  can  insert either a new Task or a new Node.  If you enter a
  204. new Node, you MUST specify a current Task number to go with  that
  205. new Node.
  206.  
  207. To  finish  the editing, enter the command Q(uit).  IPM will then
  208. prompt you if you want to save it to disk, and if so,  what  name
  209. should it give the file.  If the file exists, IPM will ask you if
  210. you want to overwrite (reuse) the file.
  211.  
  212. 3.0  OPERATING IPM
  213.  
  214. Once you have entered the task data, you then have the following
  215. options:
  216.  
  217.     CALCSHEET:  Calculate critical path, total project  duration,
  218.     and cost.  You MUST run this option before doing...
  219.  
  220.     GANTT:  Build a GANTT chart on the console.  If the CalcSheet
  221.     option was not exercised, then you will be prompted to do so.
  222.     The GANTT chart is normalized, that  is,  the  time  line  is
  223.     scaled to fit the CRT display.  The scaling is indicated.
  224.  
  225.     PLOT:   Build  a PERT network chart of the project.  Here you
  226.     will see the tasks going from Node to Node, in  the  sequence
  227.     that  you've  entered.  Since many managers and professionals
  228.     need to see a PERT chart first, this option has the suboption
  229.     of  Editing  as  well.   Then  you  will  go through the same
  230.     editing as before, except that the Edit screen appears in the
  231.     lower  half  of  the  CRT display, so you can see the current
  232.     PERT network.  When you have  finished  editing,  the  screen
  233.     will flicker once or twice, and then paint the new PERT chart
  234.     that is the result of your editing.
  235.  
  236.     EDIT:  Edit tasks, as described above.
  237.  
  238.     FILE:  Once you have entered data (either from the console or
  239.     from  disk), the next time you request F(ile), it will ask if
  240.     you want to do a N(ew project) or to O(utput to  file).   See
  241.     Section 4.0 below.
  242.  
  243.     QUIT:   Return  to  DOS.  IPM will NOT ask you if you want to
  244.     save the current file, so be warned.
  245.  
  246. 4.0  ADVANCED IPM FILE OPTIONS
  247.  
  248. After you have first entered data via F(ile), the next time (and
  249. thereafter) you enable F(ile), it will ask you if you want to do
  250. a N(ew project), O(utput to file), or Q(uit to main menu).
  251.  
  252.     N(ew project):  This is the same as if you were entering data
  253.     for the first time to IPM.
  254.  
  255.     O(utput  to File):  When you select this option, you will see
  256.     a new command menu line of C(alcSheet), G(antt), P(lot),  and
  257.     L(otus).  For C, G, and P, you will first be prompted for the
  258.     filename to send the output to;  this can be "LPT1:" for  the
  259.     printer, but this is NOT encouraged.  (Save to file first, so
  260.     you can use your text editor to modify the file for  whatever
  261.     purpose.)
  262.  
  263.     L(otus):   This  option  outputs  the results of calculations
  264.     into a file, which should be called  with  extension  ".PRN".
  265.     Then  you  can  use Lotus 1-2-3 to IMPORT the file (using the
  266.     NUMBERS option in Lotus), and  thus  generate  a  .WKS  file.
  267.     Once  you've  done  that,  you  can now use the full power of
  268.     Lotus on it.
  269.  
  270.     Q(uit):  Returns you to the main menu display.
  271.  
  272. The  file/printer  output  of the G(antt) and P(lot) options will
  273. differ from the CRT display.  The reason for this, is  to  enable
  274. the  use of any ASCII-supported printer;  except for IBM printers
  275. and EPSON FX printers (with the  appropriate  fonts  downloaded),
  276. the  IBM  display characters above ASCII code 128 decimal are not
  277. uniformly supported.
  278.  
  279. 5.0  USEFUL TIPS
  280.  
  281. IPM uses a normalized time scale.  That is, IPM does not  attempt
  282. to   allocate  tasks  to  a  calendar  schedule,  although  this,
  283. obviously,  is  a  prime  objective.   Thus,   you   should   use
  284. "normalized"  time  units,  such as hours, days, or minutes;  you
  285. should use minutes, for example, if you are using  this  to  plan
  286. activities  that will span an eight-hour day or less;  hours, for
  287. projects under a week;  and days for longer-lived projects.
  288.  
  289.